define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'upload', 'js-md5'], function ($, undefined, Backend, Table, Form, Upload, md5) {

    var Controller = {
        index: function () {

            // 初始化表格参数配置
            Table.api.init({
                search: true,
                advancedSearch: true,
                pagination: true,
                extend: {
                    "index_url": "general/profile/index",
                    "add_url": "",
                    "edit_url": "",
                    "del_url": "",
                    "multi_url": "",
                }
            });

            var table = $("#table");

            // 初始化表格
            table.bootstrapTable({
                search:false,
                url: $.fn.bootstrapTable.defaults.extend.index_url,
                columns: [
                    [
                        {field: 'id', title: 'ID'},
                        {field: 'title', title: __('Title')},
                        {field: 'url', title: __('Url'), align: 'left', formatter: Table.api.formatter.url,operate: 'LIKE %...%'},
                        {field: 'ip', title: __('ip')},
                        {field: 'createtime', title: __('Createtime'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
                    ]
                ],
                commonSearch: false
            });

            // 为表格绑定事件
            Table.api.bindevent(table);//当内容渲染完成后

            // 给上传按钮添加上传成功事件
            $("#plupload-avatar").data("upload-success", function (data) {
                var url = Backend.api.cdnurl(data.url);
                $(".profile-user-img").prop("src", url);
                Toastr.success("上传成功！");
            });
            
            // 给表单绑定事件
            Form.api.bindevent($("#update-form"), function () {
                $("input[name='row[password]']").val('');
                var url = Backend.api.cdnurl($("#c-avatar").val());
                top.window.$(".user-panel .image img,.user-menu > a > img,.user-header > img").prop("src", url);
                return true;
            });

            //输入框按enter键弹出文件选择框bug
            $(".no_up").keydown(function(event){
              switch(event.keyCode) {
                // ...
                // 不同的按键可以做不同的事情
                // 不同的浏览器的keycode不同
                // 更多详细信息:     http://unixpapa.com/js/key.html
                // 常用keyCode： 空格 32   Enter 13   ESC 27
                case 13:
                    return false;
                    break;
              }
            });

            /* 密码加密问题，下个版本再改
            $(".btn-success").click(function(){
                //把password的值换掉，张楠修改
                var form = $("#update-form");
                var form_arr = form.serializeArray();
                var new_form_arr = {};
                for(i=0; i<form_arr.length;i++){
                    if(form_arr[i].name == 'row[password]'){
                        new_form_arr[form_arr[i].name] = md5(form_arr[i].value);
                    }else{
                        new_form_arr[form_arr[i].name] = form_arr[i].value;
                    }
                }
                // console.log(new_form_arr);
                // return false;
                //把password的值换掉

                var str = jQuery.param(new_form_arr);
                //调用Ajax请求方法
                var type = form.attr("method") ? form.attr("method").toUpperCase() : 'GET';
                type = type && (type === 'GET' || type === 'POST') ? type : 'GET';
                url = form.attr("action");
                url = url ? url : location.href;
                var params = {};
                var multipleList = $("[name$='[]']", form);
                if (multipleList.size() > 0) {
                    var postFields = form.serializeArray().map(function (obj) {
                        return $(obj).prop("name");
                    });
                    $.each(multipleList, function (i, j) {
                        if (postFields.indexOf($(this).prop("name")) < 0) {
                            params[$(this).prop("name")] = '';
                        }
                    });
                }
                Fast.api.ajax({
                    type: type,
                    url: url,
                    data: str + (Object.keys(params).length > 0 ? '&' + $.param(params) : ''),
                    dataType: 'json',
                    complete: function (xhr, textStatus) {
                        var token = xhr.getResponseHeader('__token__');
                        if (token) {
                            $("input[name='__token__']", form).val(token);
                        }

                        //返回成功跳转，张楠修改
                        var obj = $.parseJSON(xhr.responseText);
                        if(obj.code == 1){
                            location.href = obj.url
                        }
                        //返回成功跳转，张楠修改

                    }

                });
                return true;
            });
            */
        },
    };
    return Controller;
});